<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js">
<!--<![endif]-->

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>列表</title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="../style.css">
</head>

<body>
  <!--[if lt IE 7]>
      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="#">upgrade your browser</a> to improve your experience.</p>
    <![endif]-->

  <div id="app">
    <ele :list="list"></ele>
    <button @click="handleClick">显示列表</button>
  </div>

  <script src='https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js'></script>
  <script src="" async defer></script>
  <script>
    Vue.component('ele', {
      render: function (createElement) {
        if (this.list.length) {
          return createElement(
            'ul',
            this.list.map(
              function (item) {
                return createElement(
                  'li',
                  item)
              }
            )
          )
        } else {
          return createElement(
            'p',
            '列表为空'
          )
        }
      },
      props: {
        list: {
          type: Array,
          default: function () {  
            return []
          }
        }
      }
    })

    var app = new Vue({
      el: '#app',
      data: {
        list: []
      },
      methods: {
        handleClick() {
          this.list = [
            '《书名1》',
            '《书名2》',
            '《书名3》'
          ]
        }
      },
    })
  </script>

</body>

</html>